#pragma once
#include <vector>
#include <string>
class AdderValue;
class AdderBytecodeEngine;

/*

This is a placeholder class.  None of the RSB bytecode is actually contained or
executed by this class, since that is located within the assembly.  This simply
stores information about the function (such as the argument count) for using
in the functions dictionary.

*/

class AdderFunction
{
public:
	int argument_count;
	std::vector<unsigned int> argument_names;
	bool isBuiltin;
	void * jump_location;
	
	AdderFunction();
	AdderValue * execute(AdderBytecodeEngine* engine);
};
